Rifle Scope with Video Output Stabilized Relative to a Target

ABSTRACT

A rifle scope including a display, at least one optical sensor to capture video of a view area, and image processing circuitry coupled to the display and the at least one optical sensor. The image processing circuitry is configured to select visual elements within a sequence of frames of the video and to align the visual elements within adjacent frames of the sequence of frames to produce a video output corresponding to the view area that is stabilized relative to a target. The image processing circuit is configured to provide the video output to the display.

FIELD

The present disclosure is generally related to telescopic devices, andmore particularly to telescopic devices including backgroundstabilization.

BACKGROUND

In optical systems, jitter undermines image quality. For example, humanmovement is a common source of jitter in portable optical devices, suchas handheld video cameras and telescopic devices (e.g., binoculars,rifle scopes, telescopes, and the like). Telescopic devices that arecapable of high magnification of a viewing area also magnify the jitter.In certain applications, such as rifle scopes or optical spotting, suchjitter can adversely impact image quality and/or accuracy. In an exampleinvolving rifle scopes, human jitter can introduce dramatic variationsin terms of minutes of angle (MOA) with respect to close range targets,and can introduce even more dramatic variations with long range targets.For example, at a distance of 500 yards, variations of 2 to 15 minutesof angle can cause a shooter to miss his/her target by up to 75 inchesor more. One MOA can cause the shooter to miss a target by 15 inches at1500 yards.

To reduce the effect of jitter, some optical devices include supportstructures that operate to dampen such jitter. In other instances,mechanical transducers and structures are introduced to activelystabilize the optical device and/or the associated support structure(such as a rifle). While such active stabilization components may reducejitter, they can reduce the portability of the optical device in termsof both increased weight and increased power consumption.

SUMMARY

In an embodiment, a gun scope includes a display, at least one opticalsensor to capture video of a view area, and image processing circuitrycoupled to the display and the at least one optical sensor. The imageprocessing circuitry is configured to select visual elements within asequence of frames of the video and to align the visual elements withinadjacent frames of the sequence of frames to produce a video outputcorresponding to the view area that is stabilized relative to a target.The image processing circuit is configured to provide the video outputto the display.

In another embodiment, a binocular display device includes a pair ofeyepieces, a display that is optically accessible through the pair ofeyepieces, and at least one optical element to capture video of a viewarea. The binocular display device further includes image processingcircuitry coupled to the display and the at least one optical element.The image processing circuitry is configured to align visual elementswithin sequential frames of the video to produce a video output that isstabilized relative to a target and to provide the video output to thedisplay.

In still another embodiment, a method includes receiving a video streamincluding a sequence of frames at a circuit of a gun scope. The methodfurther includes aligning visual elements within adjacent frames of thesequence of frames using the circuit to produce a video output that isstabilized relative to a target and providing the video output to adisplay of the gun scope.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of an embodiment of a telescopic devicehaving circuitry configured to provide background stabilization.

FIG. 2 is front view into the telescopic device of FIG. 1 depicting aview area including a reticle and a potential target.

FIG. 3 is a representative example of a view area of a conventionaltelescopic device without background stabilization and including anoverlay of a dashed line representing movement of the center of thetelescope in response to jitter.

FIG. 4 is an exemplary view of the view area of the telescopic device ofFIGS. 1 and 2 depicting a stabilized background and including an overlaydepicting digitally stabilized movement of the center of the telescope.

FIG. 5 is a perspective view of a binocular display device havingcircuitry configured to provide background stabilization, such as thecircuitry of FIG. 1.

FIG. 6 is a block diagram of a method of aligning adjacent frames of avideo stream to reduce or eliminate jitter.

FIG. 7 is a block diagram of a system including the circuitry of FIGS.1, 2 and 5.

FIG. 8 is an expanded block diagram of a portion of the circuitry ofFIGS. 1, 2, 5 and 6.

FIG. 9 is a side view of an example of a small arms firearm includingthe telescopic device of FIG. 1 implemented as a gun scope.

FIG. 10 is a flow diagram of an embodiment of a method of stabilizingvideo of a view area of a portable telescopic device.

In the following discussion, the same reference numbers are used in thevarious embodiments to indicate the same or similar elements.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

Embodiments of a portable telescopic device, such as a telescope,binoculars, or a gun scope, are described below that are configured toprocess optical data from a view area of the telescopic device, inreal-time. In an example, the portable telescopic device is configuredto stabilize the background relative to a target by aligning opticalelements within adjacent frames of a sequence of frames of a video ofthe view area. An example of a telescopic device that includes circuitryconfigured to provide background stabilization is described below withrespect to FIG. 1.

FIG. 1 is a perspective view of an embodiment of a telescopic device 100having circuitry 108 configured to provide background stabilization.Telescopic device 100 includes an eyepiece 102 and an optical element104 coupled to a housing 106. Housing 106 defines an enclosure sized toreceive circuitry 108. Optical element 104 includes an objective lensand other components configured to receive light and to direct and focusthe light toward optical sensors associated with circuitry 108.

Telescopic device 100 includes user-selectable buttons 110 and 112 onthe outside of housing 106 that allow the user to interact withcircuitry 108 to select between operating modes, to adjust settings, andso on. In some instances, the user may interact with at least one of theuser-selectable buttons 110 and 112 to select a target within the viewarea. Further, telescopic device 100 includes thumbscrews 114, 116, and118, which allow for manual adjustment of the telescopic device 100. Inan example, thumbscrews 114, 116 and 118 can be turned, individually, toadjust the crosshairs within a view area of telescopic device 100. Insome instances, thumbscrews 114, 116, and 118 can be omitted, and one ormore user selectable buttons may be provided on a device or componentcoupled to the telescopic device 100 to allow the user to interact withcircuitry 108 to adjust the crosshairs and/or to select a target.

Housing 106 includes a removable battery cover 120, which secures abattery within housing 106 for supplying power to circuitry 108. Housing106 is coupled to a mounting structure 122, which is configured to mountto a surface of a portable structure and which includes fasteners 124and 126 that can be tightened to secure the housing to the portablestructure, such as a tripod, a rifle, an air gun, or another structure.In some instances, mounting structure 122 may be omitted.

In an example, circuitry 108 includes optical sensors configured tocapture video associated with a view area of telescopic device 100received through optical element 104. The video includes a sequence ofstill images or video frames, which represent snapshots of the view areataken in rapid succession over time and which, when presented to theuser appear as a seamless video. Each image can be referred to as aframe, and the rate at which frames of the sequence are captured andprovided to a display within telescopic device 100 can vary. Circuitry108 further includes logic circuitry (such as a digital signal processor(DSP), a micro processor unit (MCU), and/or a field programmable gatearray (FPGA)) configured to process the video to detect and stabilizethe background from frame to frame by aligning stationary portions ofadjacent frames to stabilize the video relative to a target to removejitter.

In an example, a user may attach telescopic device 100 to his/her rifleto produce a firearm system and may carry the firearm system into thefield during a hunting expedition. When the user looks through thetelescopic device 100 toward a view area, circuitry 108 operates toreduce or eliminate jitter relative to a target so that the displayedversion of the view area is presented as being stable, despite jitterdue to human movement.

In another example, the user may utilize telescopic device 100 to view adistant view area, with or without a supporting structure. Circuitry 108within telescopic device 100 stabilizes the video of the view arearelative to a target by aligning optical elements within adjacent frameswithin a sequence of frames, and then presents the adjusted video to adisplay as stabilized video. In some instances, the user may interactwith buttons 112 and/or 114 to select a target within the view area, andcircuitry 108 can be configured to process optical content within thesequence of frames to identify a target object relative to thebackground and to track the target object as it moves within the viewarea.

At high magnification, very small movements, such as normal jitter, aremagnified by the optics within telescopic device 100, making suchmovements very noticeable, and in some instances, even disorienting.However, circuitry 108 operates to reduce the effects of such jitter byaligning optical elements in adjacent frames relative to a target toreduce or eliminate the visual impact of such jitter. Further, it shouldbe appreciated that the optical sensors capture a wider view area thanthat shown at any magnification, making it possible to align adjacentframes, even in response to relatively large jitter, such as that causedby mechanical motion of a vehicle, for example.

FIG. 2 is front view 200 into the telescopic device 100 of FIG. 1depicting a view area 204 including lines 206 and 208 forming a reticleand including a potential target 210. Front view 200 includes thumbscrews 114, 116, and 118 and includes housing 106. In some instances,thumb screws 114, 116, and 118 can be omitted. Front view 200 furtherincludes eyepiece 102 including an adjustable focusing element 202 thatis part of the eyepiece 102.

View area 204 can be captured by optical sensors associated withcircuitry 108 within housing 106 and converted into video data forstabilization prior to presenting the video data to a display withintelescopic device 100. Circuitry 108 may also include a memoryconfigured to store instructions that, when executed, cause processingcircuitry of circuit 108 to process frames of the video data to provideimage stabilization relative to a target.

While the above-description of FIGS. 1 and 2 have described circuitrywithin telescopic device 100 that provides background stabilization, itshould be understood that such image stabilization can be implemented inhardware and/or in software executable by a processor. Without suchstabilization, jitter can disturb the visual image, particularly at highmagnification. An example of a view from a prior art telescopic devicewithout stabilization is described below with respect to FIG. 3.

FIG. 3 is a representative example of a view area 300 of a conventionaltelescopic device without background stabilization and including anoverlay 308 of a dashed line representing movement of the center of thetelescopic device in response to jitter. View area 300 includes areticle 306, which is stable relative to the view area. The reticle 306may be contained within or produced by the conventional telescopicdevice. In this instance, the jitter renders the background 302 and thetarget object 304 blurry and can render the telescopic device unusableto achieve a desired result, i.e., hitting a desired target in thecontext of a gun scope or viewing a distant object in detail. Further,the jitter causes the relative angle of the telescopic device (asdetermined from the longitudinal axis of the telescopic device) to varyrelative to the target object 304, as depicted by dashed line 308. Inextreme cases and particularly extreme cases when the telescopic deviceis configured to provide high magnification, such jitter may cause theview area to shift dramatically, causing a potential target to move inand out of the view area.

In telescopic devices, such jitter is undesirable, and extended viewingcan cause the viewer to experience motion sickness. In gun scopes,spotting scopes, and the like, such jitter can cause the user to misshis/her target. An example of the view area of the telescopic device 100of FIGS. 1 and 2, stabilized relative to a target to overcome or reducejitter, is described below with respect to FIG. 4.

FIG. 4 is an exemplary view of the view area 400 of the telescopicdevice 100 of FIGS. 1 and 2 depicting a stabilized background 402 andtarget object 404 and including an overlay (reticle 406). Dashed line408 represents dampened movement of the center of the telescopic device100 relative to the target object 404 in response to jitter. In thisexample, circuitry 108 stabilizes the background relative to targetobject 404 by aligning optical elements within adjacent frames of asequence of video frames to remove/reduce jitter. As jitter causestelescopic device 100 to change its orientation, circuitry 108 selectsoptical elements within the view area of adjacent frames and adjusts theframes to align the optical elements, stabilizing the view area 400relative to target object 404, which may be moving within the view area.As a result, the user's aim can be enhanced, allowing the user to moreaccurately track the target object 404 using the telescopic device 100.

In an example, the actual view area of the telescopic device 100 islarger than the displayed view area. Circuitry 108 displays only amagnified portion (view area 400) of the entire area captured by opticalsensors of the telescopic device. Circuitry 108 stabilizes the view area400 by aligning optical elements within adjacent frames in the videoframe sequence relative to target object 404. In particular, circuitry108 identifies optical or visual elements within a first frame,identifies corresponding visual elements within a next frame, and alignsthe visual elements (frame-by-frame) to produce an adjusted sequence offrames, representing a stabilized video of view area 400. In someinstances, movement of telescopic device 100 may be intentional, such asto view a different area or to track a target. Circuitry 108 can utilizegyroscopic sensors, inclinometers, accelerometers, and other sensors todetermine when a directional change of telescopic device 100 exceeds apre-determined threshold. When the directional change is less than thepre-determined threshold, circuitry 108 aligns the visual elements asdiscussed above. However, when the directional change exceeds thepre-determined threshold, circuitry 108 determines a movement (motion)vector characterizing a rate of change and direction of movement oftelescopic device 100, and selectively aligns corresponding visualelements from frame to frame in response to determining the motionvector. In one instance, circuitry 108 aligns corresponding visualelements to the motion vector to stitch adjacent view areas together andto smooth the visual images. For example, visual elements of a firstframe may exist in a different position within the next frame as theuser changes the orientation of telescopic device 100, and circuitry 108aligns the adjacent frames to the movement vector to provide smoothertransitions as the telescopic device 100 is repositioned.

In a particular example, circuitry 108 aligns adjacent frames byidentifying visual elements within a first frame, compressing the framethrough one or more compression operations, identifying visual elementswithin a next frame in the frame sequence, compressing the next framethrough the one or more compression operations, comparing the locationsof the visual elements within the frames, and adjusting the frames toalign the visual elements of the adjacent frames within the sequence offrames in their compressed state. Once aligned, the frames can beexpanded (decompressed) and shifted (adjusted) pixel-wise to align thevisual elements, frame-by-frame, through one or more iterations toproduce an adjusted video that is stabilized relative to target 404.

While the above-example has focused on a telescopic device, circuitry108 may also be incorporated within other types of optical devices. Anexample of a binocular display device including circuitry 108 isdescribed below with respect to FIG. 5.

FIG. 5 is a perspective view of a binocular display device 500 havingcircuitry 108 configured to provide background stabilization. In thisinstance, binocular display device 500 includes eyepieces 502 andoptical elements 504 coupled through a housing 506 that may include oneor more prismatic components as well as circuitry 108. Housing 506 alsoincludes a display coupled to circuitry 108 for presenting thestabilized video. Binocular display device 500 further includes abinocular adjustment mechanism 508 allowing for physical adjustment ofthe eyepieces 502 to fit the user.

In this example, circuitry 108 is configured to capture video associatedwith a view area that is observed through at least one of the opticalelements 504. Circuitry 108 aligns visual elements within a frame tocorresponding visual elements within a previous frame, frame-by-frame,stabilizing visual elements relative to an optical target within thesequence of frames. In some instances, circuitry 108 compresses theframes and then determines an adjustment to align the visual elementswithin the compressed frame. The adjustment is then applied and refinedat each compression level until the original frame is aligned to theprevious frame, producing adjusted (aligned) frames that represent astabilized video of the view area that is adjusted to reduce oreliminate jitter.

It should be understood that the adjustment at each level of compressionrepresents a shift of a number of pixels. At each level of compression,the pixel adjustment is increasingly course, so the pixel shiftinformation that is determined at a high level of compression can beadjusted at each lower level of compression until the actualuncompressed image is adjusted. In an example, at a first highest levelof compression, the image may be shifted by 100 pixels, at the nextlevel of compression, the number of pixels may be adjusted to 110 or 90,for example, and at the original image resolution, the pixel shift mayend up being 112 or 96 or some other number of pixels. However, at eachcompression level, the granularity of the adjustment is more refined.

Circuitry 108 determines global motion parameters associated with thetelescopic device 100 using gyroscopic sensors, accelerometers,inclinometers, and other sensor data. Such data can be used todifferentiate jitter from intentional movement of the optical device(such as intentional movement of the optical device to capture adifferent view area). Sensing such movement, telescopic device 100 canoffset changes in the view area (as discussed above by aligning visualelements from frame-to-frame) to stabilize the image relative to atarget until the sensed movement exceeds a pre-determined threshold.When the sensed movement exceeds the pre-determined threshold, circuitry108 can selectively align visual elements from frame to frame to smooththe user's movement as the telescopic device 100 is repositioned. Forexample, a stone or tree that is in the left-most portion of the viewarea may be used to align an adjacent frame, shifting the view area topresent the same stone or tree shifted toward the middle of the viewarea along the motion vector. In general, the optical sensors capturepictures from a wider area than the view area that is displayed, makingit possible to selectively shift the view area to provide the stabilizedimage. Using the global motion parameters, circuitry 108 uses selectedpixels from the wider range of pixels to align frames along a motionvector, providing a stable view that appears relatively immune to jitteras the user adjusts the view of telescopic device 100.

Displacement of one frame to the next is defined by a horizontaltranslation, a vertical translation, and a rotation component, which canbe understood in terms of a motion vector. As previously mentioned,sensors (such as gyroscopic sensors, inclinometers, accelerometers, andother sensors) are provided that can detect global motion parameters.Using the global motion data, circuitry 108 can detect global movementof telescopic device 100, selectively stabilizing the moving backgroundof the view area relative to a target and without filtering localmotion, which may be attributable to movement of the target within theview area.

Once global motion is accounted for, the remaining motion within theview area is relatively small and can be used to determine correctionfactors from frame-to-frame. After a few frames, circuitry 108 canadjust selected visual elements to select stationary elements,zeroing-out remaining motion parameter errors under the assumption thatmost of the pixels of the selected visual elements have the sametranslation and rotation, which is generally true for backgroundobjects. However, in the presence of high winds or other environmentalconditions, certain background objects (such as trees) may exhibitlocalized movement that can impact background stabilization if movingportions of those background objects are selected as visual elements foruse in aligning adjacent frames.

In one possible example, circuitry 108 automatically selects visualelements within a view area, such as visual elements having detectabledifferences relative to surrounding elements of the frame. Suchdetectable differences may be determined based on color, texture, heat,or other detectable parameters, high contrast, or other opticalfeatures. Circuitry 108 then compresses a frame representing a displayof the view area data through one or more compression operations.Circuitry 108 determines global motion parameters. If the global motionparameters exceed a pre-determined motion threshold, circuitry 108displays the new view area. Otherwise, circuitry 108 compares thecompressed view area data with that of a previous frame and aligns thevisual elements relative to a target within the compressed frames.Circuitry 108 then applies the adjustment and refines it at each levelof compression until the adjusted frame is aligned to the previousframe, thereby providing image stabilization relative to the target fromframe to frame within a sequence of frames.

In general, selection of visual elements may be performed automatically.In an example, circuitry 108 selects visual elements having relativelyhigh contrast relative to surrounding pixels. In the context of aninfrared scope, initial visual element selection may be based onthermodynamic contrasts. For example, circuitry 108 can detect visualelements having a relatively high thermal contrast relative to otherobjects.

In some instances, such visual elements may represent targets within theview area. For example, again in the context of an infrared telescopicdevice, hot targets that appear as a cluster of relatively bright pixelswithin the view area can have high contrast relative to neighboringpixels. In this instance, cooler background visual elements may beselected for background stabilization, while foreground or high thermalcontrast objects may be initially identified as targets and thereforenot utilized for background stabilization.

In a telescopic device that does not include infrared imaging, circuitry108 automatically selects optical elements for background stabilization.For such automatic selection, the relative position of background visualelements within a view area should be relatively static, while targetsmay move relative to the background visual elements. Over time,circuitry 108 can refine selection of background visual elements as afunction of relative movement, discontinuing use of previously selectedbackground visual elements for alignment purposes when such elementsexhibit localized movement. In the instance of a tree blowing in thewind, portions of the tree may be relatively stable, while otherportions may move. In this instance, circuitry 108 may select relativelystable portions of a visual element (such as a portion of the trunk ofthe tree that does not move) for use in frame alignment operations.

FIG. 6 is a block diagram of a method 600 of aligning adjacent frames ofa video stream to reduce or eliminate jitter. In FIG. 6, circuitry 108receives a sequence of video frames, such as frames 602 and 604. Frames602 and 604 are first and second frames in a sequence. Circuitry 108identifies visual elements 603 within frame 602. Circuitry 108compresses frame 602 through a first compression operation to produce acompressed frame 612 having compressed visual elements. Circuitry 108further compresses frame 612 through one or more second compressionoperations to produce compressed frame 622 having compressed visualelements. Circuitry 108 receives a second frame 604 including visualelements 605, which are shifted relative to optical elements 603 inprevious frame 602. Circuitry 108 compresses the second frame 604through a compression operation to produce a compressed frame 614 havingcompressed visual elements. Circuitry 108 further compresses thecompressed frame 614 through one or more compression operations toproduce compressed frame 624.

As depicted by frame 606, visual elements 603 and 605 (in theircompressed frames 622 and 624) are not aligned. Circuitry 108 shiftsframe 624 to align compressed visual elements to compressed visualelements of compressed frame 622, producing adjusted frame 616, todetermine shift information, such as the number of pixels in X and Ydirections that the frame 624 would need to be adjusted in order toalign the compressed visual elements. Circuitry 108 uses the shiftinformation and refines it by aligning the visual elements within frame616 to those within compressed frame 612 to determine refined shiftinformation, and further refines that information to align the visualelements within frame 626 with those of frame 602. Thus, circuitry 108produces an adjusted frame 636, which can be presented to a displaydevice as a second frame in a sequence of frames, providingframe-to-frame video stabilization.

In the example of FIG. 6, circuitry 108 compresses the frame twice andthen performs the alignment with the compressed frames to determine anumber of pixels to shift the image, and then adjusts the alignmentinformation at each of the compression levels to refine the alignmentinformation. While the above-discussion assumed two levels ofcompression, it should be appreciated that multiplecompression/alignment operations may be performed to provide a desiredlevel of granularity with respect to the image alignment as part of thevideo stabilization process. In an example, each level of compressionprovides a higher granularity in terms of image alignment, pixel-wise,allowing the received frame to be aligned to the previously receivedframe to a desired level of granularity. The alignment information canbe adjusted at each compression level to enhance or refine alignmentprecision.

In general, circuitry 108 performs background stabilization by aligningvisual elements of adjacent frames relative to a target. Such alignmentcan be performed with or without compression. It should be appreciatedthat circuitry 108 can be incorporated into various telescopic devices.Further, circuitry 108 may vary from implementation to implementation,depending on the type of telescopic device. One possible example of asystem including circuitry 108 is described below with respect to FIG.7.

FIG. 7 is a block diagram of a system 700 including the circuitry 108 ofFIGS. 1, 2, 4, and 5. System 700 includes optical elements 702configured to direct (and focus) light toward image (optical) sensors710 of circuitry 108. System 700 further includes user-selectableelements 704 (such as buttons 110 and 112 and/or thumb screws 114, 116,and 118 in FIG. 1) coupled to an input interface 722 of circuitry 108 toallow the user to interact with circuitry 108, for example, to selectoptions and/or to make adjustments.

Circuitry 108 includes a field programmable gate array (FPGA) 712including one or more inputs coupled to outputs of image (optical)sensors 710. FPGA 712 further includes an input/output interface coupledto a memory 714, which stores data and instructions. FPGA 712 includes afirst output coupled to a display 716 for displaying video and/or text.FPGA 712 is also coupled to a digital signal processor (DSP) 730 and amicro-controller unit (MCU) 734 of an image processing circuit 718. DSP730 is coupled to a memory 732 and to MCU 734. MCU 734 is coupled to amemory 736. Memories 714, 732, and 736 are computer-readable and/orprocessor-readable data storage media capable of storing instructionsthat are executable (by FPGA 712, DSP 730, and/or MCU 734) to performvarious operations.

Circuitry 108 also includes sensors 720 configured to measure one ormore environmental parameters (such as wind speed and direction,humidity, temperature, and other environmental parameters), to measuremotion of the telescopic device, and/or to measure optical elements,such as reflected laser range finding data, and to provide themeasurement data to MCU 734. In one example, sensors 720 includeinclinometers 750, gyroscopes 752, accelerometers 754, and other motiondetection circuitry 756.

FPGA 712 is configured to process image data from image (optical)sensors 710. FPGA 712 processes the image data to stabilize the video byaligning optical elements with adjacent frames relative to a target.Further FPGA 712 enhances image quality through digital focusing andgain control. In some instances, FPGA 712 performs image registrationand cooperates with DSP 730 to perform visual target tracking FPGA 712further cooperates with MCU 734 to mix the video data with reticleinformation and provides the resulting video data to display 716.

While the example of FIG. 7 depicted some components of circuitry 108,at least some of the operations of circuitry 108 may be controlled usingprogrammable instructions. MCU 734 is coupled to input interface 722 andnetwork transceiver 726. In an example, circuitry 108 can include anadditional transceiver, which can be part of an input interface 722,such as a Universal Serial Bus (USB) interface or another wiredinterface for communicating data to and receiving data from a peripheralcircuit. In an example, MCU 734, DSP 730, and FPGA 712 may executeinstructions stored in memories 736, 732, and 714, respectively. Networktransceiver 726 and/or input interface 722 can be used to update suchinstructions. For example, the user may couple system 700 to a computingdevice through network 708 or to a computing device or portable memorydevice (such as through a USB connection) to download updatedinstructions, such as new versions of background stabilizationinstructions, which can be stored in one or more of the memories 714,732, and 736 to upgrade system 700. In one instance, the replacementinstructions may be downloaded to a portable storage device, such as athumb drive, which may then be coupled to circuitry 108. The user maythen select and execute the upgrade instructions by interacting with theuser-selectable elements 704. An example of portions of circuitry 108including an expanded view of memories 714, 732, and 736 showinginstructions executable by FPGA 710, DSP 730, and MCU 734, respectively,is described below with respect to FIG. 8.

FIG. 8 is an expanded block diagram of a portion 800 of the circuitry108 of FIGS. 1, 2, and 4-6. Portion 800 includes image processingcircuit 718, FPGA 712, memory 714, and display 716. Image processingcircuit 718 includes memories 732 and 736. In this example, memory 736stores instructions that, when executed by MCU 734, cause MCU 734 toperform operations to control operation of circuitry 108 and ofperipheral circuitry. Memory 736 includes display overlay generationinstructions 802 that, when executed, cause MCU 734 to generate a visualreticle and/or other data that can be provided to display 716 inconjunction with video data. Memory 736 includes user adjustmentinstructions 804 that, when executed, cause MCU 734 to process inputsreceived from input interface 722 responsive to adjustments made by auser through user-selectable elements 704. Memory 736 includesperipheral device control instructions 806 that, when executed, causeMCU 734 to control peripheral circuitry (not shown). In an example, suchperipheral circuitry can include an external display, a memory device,or other circuitry.

Memory 732 includes image processing instructions 812 that, whenexecuted by DSP 730, cause DSP 730 to perform target tracking withrespect to identified objects within a view area. DSP 730 may also beconfigured, through such instructions, to smooth and/or refine imagedata. Memory 732 may also include other digital signal processinginstructions (not shown).

FPGA 712 is configured to process image/optical data. In particular FPGA712 executes instructions in memory 714 to stabilize video data usingglobal motion data from sensors 720. For example, using rate of changeand other data from inclinometers 750, gyroscopes 752, accelerometers754, and other motion detection circuitry 756, FPGA 712 can determineglobal motion data associated with the movement of the optical deviceand can compensate for jitter based on the global motion data to assistin stabilizing the video. Further, memory 714 includes visual elementselection instructions 816, frame compression/decompression instructions818, and alignment instructions 820 that, when executed, cause FPGA 712to select visual elements within a frame, compress the frame, comparethe optical elements within the compressed frame to optical elements ofa previous frame, and align the optical elements of the compressed frameto those of the previous frame. The instructions also cause FPGA 712 todecompress the frame, aligning the optical elements in conjunction withthe decompression operations to produce an adjusted frame sequence thatis aligned frame-to-frame relative to a target within the view area toreduce jitter.

FIG. 9 is a side view of an example of a small arms firearm 900including the telescopic device 100 of FIG. 1. In this example,telescopic device 100 is implemented as a rifle scope. As previouslydiscussed, telescopic device 100 includes circuitry configured toprovide background stabilization relative to a target. Telescopic device100 is mounted to a rifle 902 including a muzzle 904. Telescopic device100 is aligned with muzzle 904 to capture a view area in a line of fireof rifle 902. Rifle 902 includes a trigger assembly 906 including aperipheral circuit 905, which may include sensors and actuators formonitoring and controlling discharge of the firearm 900. Rifle 902further includes a trigger shoe 908 to which a user may apply a force todischarge rifle 902. Rifle 902 further includes a trigger guard 910 anda grip 912 as well as a magazine 914. In this example, circuitry 108within telescopic device 100 stabilizes a display of the view area toassist the user in directing the projectile from the firearm 900 towarda selected target.

In the illustrated example, circuitry 108 provides image stabilizationto provide a stabilized view area that is stabilized relative to atarget. At any magnification, the image stabilization assists the userto aim the optical device at the target and to maintain/track a targetwithin the view area. Further, circuitry 108 can include logicconfigured to determine alignment of rifle 902 relative to a selectedtarget. Circuitry 108 can also predict alignment of the rifle 902 to theselected target and can operate to prevent discharge until the rifle 902is aligned to the target within an acceptable margin of error.

While the example in FIG. 9 depicts a rifle scope, it should beappreciated that the rifle scope implementation of the telescopic device100 can be mounted onto different devices. As used herein, the term“rifle scope” refers to a telescopic device mounted to a structuredesigned to be hand-held and to be manually aimed at a target, such as asmall arms firearm, rifle, air gun, or other portable firearm.Regardless of the type of firearm to which it is attached, telescopicdevice 100 may be referred to as a gun scope, which can be mounted to avariety of firearms, including rifles, handguns, air guns, other typesof guns, or other types of devices.

The above-examples have depicted telescopic devices and view areas thatcan be processed to align visual elements to stabilize a view arearelative to a target. One possible example of a method of providingbackground/view area stabilization is described below with respect toFIG. 10.

FIG. 10 is a flow diagram of an embodiment of a method 1000 ofstabilizing video of a view area of a portable optical device. Method1000 uses image compression as part of the alignment process; however,as mentioned above, in some instances, circuitry 108 may align adjacentframes in a sequence of frames without such compression.

In method 1000, circuitry 108 receives a video stream including aplurality of video frames. At 1002, circuitry 108 receives a next videoframe of the video frame sequence. Advancing to 1004, circuitry 108identifies one or more visual elements within the video frame.Continuing to 1006, circuitry 108 compresses the video frame. Circuitry108 may iteratively compress the video frame to a pre-determinedcompression level.

Proceeding to 1008, circuitry 108 compares the pixel location of one ormore visual elements of the compressed video frame to a location ofcorresponding visual elements of the compressed version of a previousframe of the video frame sequence. Moving to 1010, circuitry 108determines if the one or more visual elements of the compressed videoframe are aligned with the corresponding visual elements of the previousframe (compressed by circuitry 108 to the same level of compression). Ifthe visual elements are aligned at 1010, the method 1000 returns to 1002and circuitry 108 receives a next video frame of the video framesequence.

Returning to 1010, if the one or more visual elements are not aligned,the method 1000 advances to 1012 and circuitry 108 shifts the frame toalign the one or more visual elements to the corresponding elements ofthe previous frame to determine alignment information. In an example,the alignment information includes a number of pixels to shift to alignthe one or more visual elements in the adjacent frames. Proceeding to1014, circuitry 108 uses the alignment information and refines it ateach compression level, finally shifting the image according to therefined alignment information to produce an adjusted frame. In thisinstance, the locations of the visual elements within the second frameare aligned to corresponding locations of the visual elements in theprevious frame, thereby reducing jitter and stabilizing the videorelative to the target.

In a particular example, the method includes receiving a video streamincluding a sequence of frames having a first frame and a second frame,compressing the first frame through one or more compression operationsto produce a compressed first frame, and compressing the second framethrough the one or more compression operations to produce a compressedsecond frame. The method also includes aligning visual elements withinthe compressed second frame to corresponding visual elements within thecompressed first frame to produce alignment information, applying andrefining the alignment information to produce the adjusted second frame,and providing a stabilized video stream including the first frame andthe adjusted second frame to a display of a telescopic device. Theresulting video stream is stabilized relative to the target. In oneexample, before aligning the visual elements, the method includesautomatically identifying groups of pixels within the first and secondframes having high contrast relative to surrounding pixels andautomatically selecting the groups of pixels as the visual elements. Insome instances, the method also includes receiving a user inputcorresponding to an area within the video stream and assigning one ofthe visual elements to the area corresponding to the user input.Circuitry 108 can automatically identify a potential target within thevideo stream based on movement of one of the visual elements relative toothers of the visual elements. Further, circuitry 108 can iterativelyprocess the video stream to produce the stabilized video stream relativeto the target.

In conjunction with the systems, devices, and methods described abovewith respect to FIGS. 1-10, circuitry is described that includes opticalsensors, motion sensors, and image processing circuitry. The opticalsensors are configured to capture video data of a view area, and imageprocessing circuitry is configured to process the video data to alignvisual elements in adjacent frames of a sequence of frames of the videoto provide a stabilized view relative to a target. In some instances,sensor data can be used to determine whether the telescopic device 100has been shifted to change the view area of the telescopic device 100.In some instance, image processing circuitry compresses the frames aspart of the alignment process.

Although the present invention has been described with reference topreferred embodiments, workers skilled in the art will recognize thatchanges may be made in form and detail without departing from the scopeof the invention.

What is claimed is:
 1. A rifle scope comprising: a display; at least oneoptical sensor to capture video of a view area; and image processingcircuitry coupled to the display and the at least one optical sensor,the image processing circuitry configured to select visual elementswithin a sequence of frames of the video and to align the visualelements within adjacent frames of the sequence of frames to produce avideo output corresponding to the view area that is stabilized relativeto a target, the image processing circuit configured to provide thevideo output to the display.
 2. The rifle scope of claim 1, wherein theimage processing circuitry comprises: a processor; and a memory coupledto the processor and configured to store instructions that, whenexecuted by the processor, cause the processor to identify the visualelements within a selected video frame in the sequence of frames.
 3. Therifle scope of claim 2, wherein at least some of the optical elementscorrespond to areas of the selected video frame that have detectabledifferences relative to adjacent areas of the selected video frame. 4.The rifle scope of claim 2, further comprising an interface coupled tothe processor and configurable to receive instructions; and wherein theinstructions in the memory are programmable.
 5. The rifle scope of claim1, wherein the image processing circuitry is configured to generate atleast one of a reticle and data for insertion into the video output. 6.The rifle scope of claim 1, wherein the image processing circuitry isconfigured to: compress the sequence of frames through one or morecompression operations; align the visual elements within compressed onesof adjacent frames of the sequence of frames to determine alignmentinformation; and refine the alignment information by realigning thevisual elements within the adjacent frames of the sequence of frames toproduce the video output.
 7. The rifle scope of claim 1, furthercomprising: at least one motion sensor coupled to the image processingcircuitry and configured to detect movement of the at least one opticalsensor; and wherein the image processing circuitry is configured todetermine a motion vector based on an output signal of the at least onemotion sensor and to selectively align the visual elements in responseto the motion vector.
 8. A binocular display device comprising: a pairof eyepieces; a display that is optically accessible through the pair ofeyepieces; at least one optical element to capture video of a view area;and image processing circuitry coupled to the display and the at leastone optical element, the image processing circuitry configured to alignvisual elements within sequential frames of the video to produce a videooutput that is stabilized relative to a target and to provide the videooutput to the display.
 9. The binocular display device of claim 8,wherein the image processing circuitry is configured to: compress thesequence of frames through one or more compression operations; align thevisual elements within adjacent frames of the sequence of frames; andrefine the alignment information by realigning the visual elementswithin the adjacent frames of the sequence of frames to produce thevideo output.
 10. The binocular display device of claim 8, furthercomprising: at least one motion sensor configured to produce a sensoroutput based on movement of the at least one optical sensor; and whereinthe image processing circuitry is configured to compare the sensoroutput to a threshold and, when the sensor output exceeds a threshold,to determine a motion vector from the sensor output and align the visualelements within the video frame to the motion vector.
 11. The binoculardisplay device of claim 10, wherein the at least one motion sensorcomprises at least one of an inclinometer, a gyroscope, and anaccelerometer.
 12. The binocular display device of claim 8, wherein theimage processing circuitry automatically identifies the visual elementswithin the video.
 13. The binocular display device of claim 8, whereinthe image processing circuitry comprises: a processor; and a memorycoupled to the processor and configured to store instructions that, whenexecuted, cause the processor to align the visual elements withinsequential frames of the video.
 14. The binocular display device ofclaim 13, further comprising: an interface configurable to receive a setof instructions; and wherein the processor is configured to alter orreplace the instructions stored in the memory based on receiving the setof instructions.
 15. A method comprising: receiving a video streamincluding a sequence of frames at a circuit of a telescopic device;aligning visual elements within adjacent frames of the sequence offrames using the circuit to produce a video output that is stabilizedrelative to a target; and providing the video output to a display of thetelescopic device.
 16. The method of claim 15, wherein aligning thevisual elements comprises: automatically identifying the visual elementswithin the sequence of frames; compressing frames of the sequence offrames through one or more compression operations; adjusting compressedframes of the sequence of frames to determine alignment information inadjacent ones of the compressed frames; adjusting at least one frame ofthe sequence of frames based on the alignment information; and furtheradjusting the at least one frame by aligning the visual elements of theat least one frame to the visual elements of a previous frame to producethe video output.
 17. The method of claim 16, wherein automaticallyidentifying the visual elements comprises identifying groups of pixelswithin a frame of the sequence of frames that have a detectabledifference relative to neighboring pixels within the frame.
 18. Themethod of claim 15, further comprising: receiving a set of instructionsat an input interface of the circuit; and altering instructions storedin a memory of the circuit.
 19. The method of claim 15, furthercomprising: receiving motion data from one or more motion sensors at thecircuit; and selectively aligning the visual elements in response toreceiving the motion data.
 20. The method of claim 19, whereinselectively aligning the visual elements comprises: aligning the visualelements of a first frame to corresponding visual elements of anadjacent frame in the sequence of frames when the motion data is lessthan a threshold; and aligning at least one visual element of the firstframe to a motion vector derived from the motion data when the motiondata exceeds the threshold.